package com.yxh.www.author.service;

import com.yxh.www.author.domain.SmAccountApiRelation;
import com.yxh.www.common.result.Result;
import com.yxh.www.mysql.base.BaseService;

/**
 * <p>
 * 系统账户接口关系 服务类
 * </p>
 *
 * @author Yangxiaohui
 * @since 2020-05-09
 */
public interface SmAccountApiRelationService extends BaseService<SmAccountApiRelation> {

    /**
     * 增加第三方账户接口关系
     *
     * @param accountId 第三方账户ID
     * @param apiIds    接口ID集合
     * @return 统一响应 {@link Result}
     */
    Result<Object> addSmAccountApiRelation(String accountId, String[] apiIds);

    /**
     * 根据关系ID集合删除 账户接口关系
     *
     * @param ids 关系ID集合
     * @return 统一响应 {@link Result}
     */
    Result<Object> removeSmAccountApiRelation(String[] ids);

    /**
     * 根据第三方账户ID删除 账户接口关系
     *
     * @param accountId 第三方账户ID
     * @return 统一响应 {@link Result}
     */
    Result<Object> removeSmAccountApiRelationByAccountId(String accountId);

    /**
     * 根据接口ID删除 账户接口关系
     *
     * @param apiId 接口ID
     * @return 统一响应 {@link Result}
     */
    Result<Object> removeSmAccountApiRelationByApiId(String apiId);

    /**
     * 根据接口ID和账户ID删除 账户接口关系
     *
     * @param accountId 第三方账户ID
     * @param apiId     接口ID
     * @return 统一响应 {@link Result}
     */
    Result<Object> removeSmAccountApiRelationByAccountIdAndApiId(String accountId, String apiId);
}
